package basicas.organizacionais;

import javax.persistence.Column;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;


@Entity

@NamedQueries({
@NamedQuery(name="getSetores",query="select c from Setor c")
})
@Table
public class Setor {
	

	@Id @GeneratedValue(strategy=GenerationType.AUTO)
	private int codigo;
	
	@Column(length=200, nullable=false)
	private String descricao;
	
	@Column(length=10, nullable=false)
	private String sigla;
	@ManyToOne
	private Funcionario funcionarioChefe;
	@ManyToOne
	private Setor setorSuperior;
		
		
	public Setor(int codigo, String descricao, String sigla,
			Funcionario funcionarioChefe, Setor setorSuperior) {
		super();
		this.codigo = codigo;
		this.descricao = descricao;
		this.sigla = sigla;
		this.funcionarioChefe = funcionarioChefe;
		this.setorSuperior = setorSuperior;
	}
	
	public Setor(int codigo, String descricao, String sigla){
		this.codigo = codigo;
		this.descricao = descricao;
		this.sigla = sigla;
	}
	
	public Setor(String descricao, String sigla){
		this.descricao = descricao;
		this.sigla = sigla;
	}
	
	public Setor() {
		
	}


	public int getCodigo() {
		return codigo;
	}


	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}


	public String getDescricao() {
		return descricao;
	}


	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}


	public String getSigla() {
		return sigla;
	}


	public void setSigla(String sigla) {
		this.sigla = sigla;
	}


	public Funcionario getFuncionarioChefe() {
		return funcionarioChefe;
	}


	public void setFuncionarioChefe(Funcionario funcionarioChefe) {
		this.funcionarioChefe = funcionarioChefe;
	}


	public Setor getSetorSuperior() {
		return setorSuperior;
	}


	public void setSetorSuperior(Setor setorSuperior) {
		this.setorSuperior = setorSuperior;
	}

	public String toString(){
		return "Codigo : "+this.codigo+", Descri��o: "+this.descricao+", Sigla: "+this.sigla; 
		
	}

	
	
	
	
}
